package jp.ac.aiit.yc.sww.database.dao;

import static jp.ac.aiit.yc.sww.constant.Constants.HEADER_PAGE;
import static jp.ac.aiit.yc.sww.constant.Constants.HEADER_ROOM;
import static jp.ac.aiit.yc.sww.constant.Constants.HEADER_USER;
import static jp.ac.aiit.yc.sww.util.Util.null2String;
import static jp.ac.aiit.yc.sww.util.Util.parseInt;

import java.sql.CallableStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Date;
import java.util.List;
import java.util.Map;

import jp.ac.aiit.yc.sww.Resources.SwwResource;
import jp.ac.aiit.yc.sww.database.dto.DrawDto;
import jp.ac.aiit.yc.sww.database.dto.LoginDto;
import jp.ac.aiit.yc.sww.database.dto.PresentDto;
import jp.ac.aiit.yc.sww.database.dto.SwwDtoIF;

public class PresentDao extends BaseDAO  implements SwwDaoIF {

	@Override
	public SwwDtoIF createDto(ResultSet rs) throws Exception{
		PresentDto dto = new PresentDto();

		// TODO 引数は外部化
		String meeting_room_id = rs.getString("meeting_room_id");
		// mode_e_idを取得
		int mode = rs.getInt("mode");
		// メッセージを取得\
		int page_id  = rs.getInt("page_id");
		// メッセージを取得\
		String draw_e_ids  = rs.getString("draw_e_ids");
		
		//テキストボックスイベントIDを取得 2009/2/06追加 以下sticky_e_ids関連は同
		String sticky_e_ids = rs.getString("sticky_e_ids");

		dto.setMeeting_room_id(meeting_room_id);
		dto.setMode(mode);
		dto.setPage_id(page_id);
		dto.setDraw_e_ids(draw_e_ids);
		dto.setSticky_e_ids(sticky_e_ids);
		
        return dto;
	}

	@Override
	public String getInsertSP() {
		// TODO 自動生成されたメソッド・スタブ
		return null;
	}

	@Override
	public String getQuerySP() {
		return getSP(SwwResource.SP_GET_PRESENT);
	}

	@Override
	public boolean register(SwwDtoIF dto) {
		// TODO 自動生成されたメソッド・スタブ
		return false;
	}

	@Override
	public CallableStatement setInsertParam(CallableStatement cstmt, SwwDtoIF dtoIF) throws Exception {
		// TODO 自動生成されたメソッド・スタブ
		return null;
	}

	@Override
	public Map<String, String> getHeaders() {
		return super.getHeaders();
	}

	@Override
	public void setHeaders(Map<String, String> headers) {
		super.setHeaders(headers);

	}

	@Override
	public CallableStatement setQueryParam(CallableStatement cstmt, SwwDtoIF dtoIF)
			throws Exception {
		LoginDto dto =  (LoginDto)dtoIF;

		// TODO データのチェックが必要
		System.out.println((new Date()).toString() + " dto.getMeeting_room_id()=" + null2String(dto.getMeeting_room_id()));

		cstmt.setString(1, null2String(dto.getMeeting_room_id()));

		return cstmt;
	}
}
